package tasktracker.core.framework;

import java.util.List;

import tasktracker.abstraction.ITaskDataStore;
import tasktracker.core.abstraction.TaskDataStoreProvider;

public class TaskDataStoreProxy implements ITaskDataStore {

	private TaskDataStoreProvider provider;
	private String tracker;

	public TaskDataStoreProxy(TaskDataStoreProvider provider, String tracker) {
		this.provider = provider;
		this.tracker = tracker;
	}

	@Override
	public String acquireItem(String item) {
		return provider.acquireItem(tracker, item);
	}

	@Override
	public String acquireItemKey(String item, String key) {
		return provider.acquireItemKey(tracker, item, key);
	}

	@Override
	public void clear() {
		provider.clear(tracker);
	}

	@Override
	public List<String> listItemKeys(String item) {
		return provider.listItemKeys(tracker, item);
	}

	@Override
	public List<String> listItems() {
		return provider.listItems(tracker);
	}

	@Override
	public void removeItem(String item) {
		provider.removeItem(tracker, item);
	}

	@Override
	public void removeItemKey(String item, String key) {
		provider.removeItemKey(tracker, item, key);
	}

	@Override
	public void storeItem(String item, String value) {
		provider.storeItem(tracker, item, value);
	}

	@Override
	public void storeItemKey(String item, String key, String value) {
		provider.storeItemKey(tracker, item, key, value);
	}

}
